This invention relates to the management of peripheral systems and, more particularly, to a system and method for peripheral system management which utilizes Operation objects to invoke operations on peripheral devices.
Managing a peripheral system involves configuring devices making up the peripheral system, obtaining their status, causing the devices to perform desired functions and receiving xe2x80x9ceventsxe2x80x9d from the devices. The capabilities of the devices vary widely and communication protocols used to interact with the devices also vary widely. Software that manages a peripheral system must accommodate this variety and as a result, is often quite complex. A peripheral system, as the term is used hereafter, includes printers, scanners, servers, multi-function devices and peripheral clients such as personal computers.
Vendors constantly ship new models of peripheral devices, peripheral servers and peripheral clients which present further challenges to developers of peripheral systems management software systems. Such software must be constantly revised to support such new devices and new device features, further increasing the complexity of such software.
The capabilities provided by peripherals, peripheral servers and peripheral clients vary, based on their respective configurations. As resources, such as hard disks, are added or removed, peripheral system management must handle these capability changesxe2x80x94further increasing complexity of the peripheral system management software.
Peripheral system management (PSM) applications often allow end-users to perform operations on a collection of devices using a single command, as opposed to issuing a same command over and over for each device. For example, PSM applications allow a collection of devices to have their addresses reassigned through use of a single command, but such applications do not accommodate new capabilities on such devices.
PSM applications also typically display user interface elements that represent a collection of devices being managed. Through this interface, the user can perform management activities on several devices at the same time. Generally, this interface is non-extensible and does not provide the capability to significantly change the way a PSM application displays multiple devices. By contrast, PSM applications allow device designers to contribute xe2x80x9cappletxe2x80x9d extensions (i.e., small programs that run in the context of a larger program) that customize how a device is supported. When a user indicates a desire to manage an individual device, the applet is used to present a device-specific user interface to the user.
In many computers, a dynamic link library (DLL) is used to store a collection of subroutines. Those subroutines can be called when needed by a larger program that is running and used as a xe2x80x9cplug-inxe2x80x9d. Such subroutines are often used to let the larger program communicate with a specific device such as a printer or scanner. The advantage of a DLL file is that it doesn""t become loaded into random access memory (RAM) until called by the larger program. A DLL file is dynamically linked with the program that uses it during execution, rather than being compiled with the main program. Also, a DLL can be shared by multiple programs.
There is a need for a peripheral system management system that is capable of interacting with multiple types of devices in the peripheral system; that can act on groups of devices that provide the same capabilities; and that can accommodate changes to the manner in which groups of devices are operated.
A method and memory device enabling a user at a management computer to invoke a function on one or more plural managed units of a peripheral system, each managed unit providing one or more services for one or more client computers. Each service has an associated managed entity (ME) interface that includes reference(s) to one or more management interfaces (MIs), each MI including one or more method(s) for controlling a managed unit to execute a desired action. The method responds to a user selecting an Operation object by (i) determining which MEs associated with the managed units support a designated MI object that will enable execution of the desired Operation, by invoking execution of one or more management interface provider objects on each managed unit to return an answer (ii) passing the list of determined MEs to an Operate method of the Operation object whose task is to perform the desired action by invoking methods on the designated MI(s) associated with one or more of the managed units (22,24); and (iii) executing the operate method to initiate execution, in a managed unit associated with the one or more listed MEs, of said designated management interface object (or objects) which, in turn, cause performance of the desired action by the managed unit.